# Creating and managing custom ETLs

You can create and manage Pre and Post Loading ETLs as described in the table below.

Information noteCommon Table Expressions (CTEs) are not supported as well as some special clauses.

ETL actions

| To | Do This |
| --- | --- |
| [](https://help.qlik.com/en-US/compose/Content/ComposeDWDL/Main/DW/Data%20Marts/pre_and_post_loading_etls.htm)Define a Pre Loading or Post Loading ETL | <ol> <li>Select either the <span>Pre Loading</span> or <span>Post Loading</span> tab as appropriate.</li> <li> <p>Click the <span>New</span> button above the <span>User Defined ETL</span> column.</p> <p>The <span>Add New Pre/Post Loading </span>window opens.</p> </li> <li> <p>Specify a name for the ETL and then click <span>OK</span>.</p> <p>The name is added as a link to the <span>User-Defined ETL</span> column.</p> </li> <li> <p>Click the link.</p> <p>The <span>Edit ETL Instruction: </span><span>Name</span> window opens.</p> </li> <li> <p>To define an ETL:</p> <ol> <li>Select a table and/or column and click the arrow to the right of the selected table/column to add it to the ETL.</li> <li>Use the <span>Select</span>, <span>Delete</span>, <span>Insert</span> and <span>Update</span> quick access buttons at the top of the window to add SQL statements to your ETL.</li> <li>To save your ETL, click <span>OK</span>.</li> <li>To enable/disable the ETL, select or clear the check box to the left of it as required.</li> </ol> </li> </ol> |
| Rename a Pre Loading or Post Loading ETL | <ol> <li>Select either the <span>Pre Loading</span> or <span>Post Loading</span> tab as appropriate.</li> <li>At the end of the row containing the ETL name click the <span>Rename</span> button (<span>A</span>).</li> <li>Rename the ETL and then click <span>OK</span> to save the new name.</li> </ol> |
| Edit a Pre Loading or Post Loading ETL | <ol> <li>Select either the <span>Pre Loading</span> or <span>Post Loading</span> tab as appropriate.</li> <li>At the end of the row containing the ETL name click the <span>Edit</span> button.</li> <li>Edit the ETL as described in Step 5 of <a href="https://help.qlik.com/en-US/compose/December2024/Content/ComposeDWDL/Main/DW/Data Marts/pre_and_post_loading_etls.htm#Define_a_Pre_Loading_or_Post_Loading_ETL">Define a Pre Loading or Post Loading ETL</a>. </li> </ol> |

## Updating custom ETLs

Information note

Compose CLI requires Administrator permission. To grant Administrator permission, select "Run as administrator" when opening the command prompt. All commands should be run from the Compose bin directory (C:\Program Files\Qlik\Compose with a default installation).

You can update custom ETLs using the Compose CLI. This functionality can be incorporated into a script to easily update Custom ETLs.

Syntax:

composecli update\_custom\_etls --project name --infolder path

Where:

* project is the name of the project with the custom ETLs you want to update
* infolder is the full path to the folder containing the custom ETL files

Example:

composecli update\_custom\_etls --project my-project --infolder c:\Compose\CustomETLs

Warning noteThe file names in the input folder must be identical to the custom ETL names in the specified project. Otherwise, an error will occur. The file extension (for example, .txt) is not important, but the file must be in SQL format.